package sistemaobra.web;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.*;
import javax.faces.model.SelectItem;
import sistemaobra.empresa.Empresa;
import sistemaobra.empresa.EmpresaRN;
import sistemaobra.etapa.Etapa;
import sistemaobra.etapa.EtapaRN;
import sistemaobra.gerenciarresiduo.*;
import sistemaobra.material.Material;
import sistemaobra.material.MaterialRN;

@ManagedBean
@RequestScoped
public class GerenciarResiduoBean implements Serializable {

	private static final long serialVersionUID = -8497152414714379477L;

	private List<SelectItem> items = null;
	private List<SelectItem> itemsEmpresa = null;
	private List<SelectItem> itemsMaterial = null;
	private List<Etapa> etapas = null;
	private List<Empresa> empresas = null;
	private List<Material> materiais = null;
	private GerenciarResiduo gerRes = new GerenciarResiduo();
	private int idEtapa;
	private int idEmpresa;
	private int idMaterial;

	public void setMateriais(List<Material> materiais) {
		this.materiais = materiais;
	}

	public void setItems(List<SelectItem> items) {
		this.items = items;
	}

	public void setItemsEmpresa(List<SelectItem> itemsEmpresa) {
		this.itemsEmpresa = itemsEmpresa;
	}

	public void setEmpresas(List<Empresa> empresas) {
		this.empresas = empresas;
	}

	public void setItemsMaterial(List<SelectItem> itemsMaterial) {
		this.itemsMaterial = itemsMaterial;
	}

	public int getIdMaterial() {
		return idMaterial;
	}

	public void setIdMaterial(int idMaterial) {
		this.idMaterial = idMaterial;
	}

	public void setEtapas(List<Etapa> etapas) {
		this.etapas = etapas;
	}

	public int getIdEmpresa() {
		return idEmpresa;
	}

	public void setIdEmpresa(int idEmpresa) {
		this.idEmpresa = idEmpresa;
	}

	public GerenciarResiduo getGerRes() {
		return gerRes;
	}

	public void setGerRes(GerenciarResiduo gerRes) {
		this.gerRes = gerRes;
	}

	public int getIdEtapa() {
		return idEtapa;
	}

	public void setIdEtapa(int idEtapa) {
		this.idEtapa = idEtapa;
	}

	public List<SelectItem> getItems() {
		this.items = new ArrayList<SelectItem>();
		this.etapas = getEtapas();
		for (Etapa etapa : etapas) {
			SelectItem item = new SelectItem(etapa.getId(),
					etapa.getEtapaNome());
			this.items.add(item);
		}
		return items;
	}

	public List<SelectItem> getItemsEmpresa() {
		this.itemsEmpresa = new ArrayList<SelectItem>();
		this.empresas = getEmpresas();
		for (Empresa empresa : empresas) {
			SelectItem item = new SelectItem(empresa.getId(),
					empresa.getNomeObra());
			this.itemsEmpresa.add(item);
		}
		return itemsEmpresa;
	}

	public List<SelectItem> getItemsMaterial() {
		this.itemsMaterial = new ArrayList<SelectItem>();
		this.materiais = getMateriais();
		for (Material material : materiais) {
			SelectItem item = new SelectItem(material.getId(), material.getClasse() , material.getMaterialResiduo());
			this.itemsMaterial.add(item);
		}
		return itemsMaterial;
	}

	public List<Etapa> getEtapas() {
		EtapaRN etapaRN = new EtapaRN();
		if (this.etapas == null) {
			etapas = etapaRN.listarEtapas();
		}
		return etapas;
	}

	public List<Empresa> getEmpresas() {
		EmpresaRN empresaRN = new EmpresaRN();
		if (this.empresas == null) {
			empresas = empresaRN.listarEmpresas();
		}
		return empresas;
	}

	public List<Material> getMateriais() {
		MaterialRN materiaRN = new MaterialRN();
		if (this.materiais == null) {
			materiais = materiaRN.getMateriaisList();
		}else{
			System.out.println("estou vazio :(");
		}
		return materiais;
	}

	/* Metodos Bean */

	public void salvar() {

	}

}
